#include<stdio.h>
#include<iostream>
#include<unistd.h>
using namespace std;

// int main()
// {
//     printf("i am running\n");
//     fork();
//     while(1)
//     {
//         printf("i am a process PID:%d, PPID:%d\n", getpid(), getppid());
//         sleep(1);
//     }
//     return 0;
// }


// int main()
// {
//     printf("i am running\n");
//     pid_t id = fork();
//     if(id < 0)
//     {
//         return 1;
//     }
//     else if(id == 0)
//     {
//         //child;
//         int count = 5;
//         while(count)
//         {
//             printf("i am child!...PID:%d, PPID:%d, count:%d\n", getpid(), getppid(), count);
//             sleep(1);
//             count--;
//         }
//         cout << "child quit!" << endl;
//         exit(1);
//     }
//     else
//     {
//         //father;
//         while(1)
//         {
//             printf("i am father!... PID:%d, PPID:%D\n", getpid(), getppid());
//             sleep(1);
//         }
//     }
//     return 0;
// }

#include<string.h>
// int main(int argc, char *argv[], char* envp[])
// {
//     if(argc > 1)
//     {
//         if(strcmp(argv[1], "-a") == 0)
//         {
//             printf("you used -a option...");
//         }
//         else if(strcmp(argv[1], "-b") == 0)
//         {
//             printf("you used -b option...");
//         }
//         else
//         {
//             printf("you used ether option...");
//         }
//     }
//     else
//     {
//         printf("noting!");
//     }
//     return 0;
// }

#include<stdlib.h>
// int main()
// {
// //    extern char** environ;
// //    int i = 0;
// //    while(environ[i])
// //    {
// //         cout << environ[i] << " ";
// //         i++;
// //    }
   
//     cout << getenv("PATH") << endl;
//     return 0;
// }

// #include<sys/wait.h>
// int main()
// {
//     pid_t id = fork();
//     if(id == 0)
//     {
//         int count = 10;
//         while(count--)
//         {
//             printf("i am child... PID:%d, PPID:%d\n", getpid(), getppid());
//             sleep(1);
//         }
//         exit(0);
//     }
//     else if(id > 0)
//     {
//         int status = 0;
//         // pid_t waitid = wait(&status);
//         // if(waitid > 0)
//         // {
//         //     cout << "wait child success!" << endl;

//         //     if(WIFEXITED(status))
//         //     {
//         //         cout << "child exit code is :" << WEXITSTATUS(status) << endl;
//         //     }
//         // }

//         pid_t waitid = waitpid(id, &status, 0);
//         if(waitid > 0)
//         {
//             cout << "wait child success!" << endl;
//             if(WIFEXITED(status))
//             {
//                 cout << "child exit code is :" << WEXITSTATUS(status) << endl;
//             }
//             else
//             {
//                 cout << "killed code: " << (status & 0x7f);
//             }
//         }
//     }
//     sleep(2);
//     return 0;
// }


//简单shell制作;
